package com.anhry.app.safety.manage.oa.service;

import java.util.List;

import com.anhry.app.safety.manage.oa.bean.TbOaNotice;
import com.anhry.app.safety.manage.oa.bean.TbOaNoticeUser;
import com.anhry.app.safety.manage.system.bean.TbUser;
import com.anhry.app.safety.util.dao.UtilDao;

public interface NoticeService {

	public abstract UtilDao getUtilDao();

	/**
	 * 已发通知列表
	 * 
	 * @return
	 */
	public abstract List<TbOaNotice> loadNoticeList(TbUser user,
			String beginTime, String endTime, String keyWord,
			final int startRow, final int size) throws Exception;
	
	public List<TbOaNotice> loadNoticeList(String beginTime, String endTime,
			String keyWord, String sendUser, String hql,
			String isNots, String isEs, final int startRow, final int size)
			throws Exception ;
	public List<TbOaNoticeUser> loadTopNoticeList(TbUser user, String beginTime,
			String endTime, String keyWord, final int startRow, final int size) throws Exception; 
	/**
	 * 已收到通知
	 * 
	 * @return
	 */
	public abstract List<TbOaNoticeUser> loadInNoticeList(TbUser user, String beginTime,
			String endTime, String keyWord, final int startRow, final int size)
			throws Exception ;
	
	public int getTopNotReadNoticeSize(TbUser user)
	throws Exception;
	
	/**
	 * 查看对方阅读状态列表
	 * 
	 * @return
	 */
	public abstract List<TbOaNoticeUser> loadNoticeReadList(Long id, String readType,
			final int startRow, final int size) throws Exception;
			
	/**
	 * 查询未读 通知
	 */
	public int getNotReadNoticeSize(TbUser user)
	throws Exception;
			
	public List<TbOaNoticeUser> loadInNoticeList(TbUser user, String isRead, int size)
	throws Exception;
	
	/**
	 * 做已发通知修改时  还原其 已读状态
	 */
	public void setIsRead(Long id) throws Exception;
}